C语言 我想问的是p-a[0]是什么意思?
来源:百度知道 编辑:UC知道 时间:2024/05/26 16:23:27
#include <stdio.h>
void main()
{ int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
int *p;
for(p=a;p<a[0]+12;p++)
{ if((p-a[0])%4==0)printf("\n");
printf("%4d",*p);
}
printf("\n");
printf("%d",p+1);
printf("%d",a);
getch();
}
void main()
{ int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
int *p;
for(p=a;p<a[0]+12;p++)
{ if((p-a[0])%4==0)printf("\n");
printf("%4d",*p);
}
printf("\n");
printf("%d",p+1);
printf("%d",a);
getch();
}
程序定义了一个3行4列的二维数组a,p是指向数组首地址的指针,里面方数组首地址,a[0]是第0行的地址,二维数组不是可以看作元素都是一维数组的一位数组么,所以a[0]也是数组元素a[0][0]的地址,p-a[0] 就是看p所指向的数组元素的地址跟a[0][0] 的位移,12的地址正好是p+11,for循环就是把这个数组 按3*4矩阵输出,每输出3个就换行
地址相减
C语言 我想问的是p-a[0]是什么意思?
C语言: ijnt a=1,*p=&a;与int a=1,*p; p=&a; 这两句表达的是一个意思
c语言int *p=a解释
若a>0>b>c,a+b+c=1,M=b+c\a,N=a+c\b,P=a+b\c,则M,N,P之间的大小是
我想问下C语言的问题!
问C语言,若a是int型变量
三角形的面积公式S=[p(p-a)(p-b)(p-c)]^0.5 p=(a+b+c)*0.5 是怎样推出来的?
c语言p是该函数的形参。。。。
C语言中 设 int a[]={1,2,3,4,5}, *p=a 则数组元素的正确表示是()
在C语言程序中,可以用做变量名的是____ A) 1e5 B) a1 C) int D) *p